package next.fire.spinus.logx.api;

import next.fire.spinus.logx.api.model.*;
import next.fire.spinus.logx.api.query.LogDataQuery;

import java.util.List;
import java.util.Map;

/**
 * Created by daibing on 2020/9/14.
 */
public interface LogService {

    ProviderEnum getProvider();

    void loadConf(Map<String, Object>... params);

    LogMeta getMeta(String logStoreCode);

    List<LogField> listField(String logStoreCode);

    String putData(String logStoreCode, List<LogData> dataList);

    /**
     * 阿里云专用
     */
    List<LogData> listData(String logStoreCode, LogDataQuery query, int pageNo, int pageSize);

    /**
     * 华为云专用
     */
    OffsetResult<LogData> listDataByOffset(String logStoreCode, LogDataQuery query, String offsetPosition, int offsetSize);

    List<String> listAppId(String logStoreCode, String stage);

}
